草庐IT

php - Zend Framework 1 强制 HTTPS

全部标签

ruby - 如何获得带有 SSL 客户端证书的 HTTPS 请求以与 Ruby EventMachine 一起使用?

我正在尝试使用RubyEventMachine访问使用SSL证书身份验证的HTTPSWeb服务,但我没有让它工作。我编写了以下简单代码块来对其进行端到端测试:require'rubygems'require'em-http'EventMachine.rundourl='https://foobar.com/'ssl_opts={:private_key_file=>'/tmp/private.key',:cert_chain_file=>'/tmp/ca.pem',:verify_peer=>false}http=EventMachine::HttpRequest.new(url).g

ruby - Net::HTTP 对 HTTPS 请求的响应极其缓慢

出于某种原因,在我的开发机器上,我对通过Net::HTTP执行的HTTPS请求的响应非常非常慢。我试过RestClient和HTTParty,它们都有同样的问题。它似乎是凭空冒出来的。我已毫无问题地提出这些请求数百次,但今天它们的速度慢得令人难以忍受。pry(main)>putsTime.now;HTTParty.get('https://api.easypost.com/v2/addresses');putsTime.now;2015-04-2908:07:08-05002015-04-2908:09:39-0500如您所见,响应耗时2.5分钟。不仅仅是这个EasyPostAPIUR

ruby - 如何在 Ruby 中编写一个简单的 HTTPS 代理服务器?

我看过几个用Ruby编写HTTP代理的例子,例如thisgistbyTorstenBecker,但我如何扩展它来处理HTTPS,又名“中间人”SSL代理?我正在寻找一个简单的源代码框架,我可以扩展它以满足我自己的日志记录和测试需求。更新我已经在使用Charles,aniftyHTTPSproxyapp类似于Fiddler,它本质上是我想要的,只是它被打包在一个应用程序中。我想自己写一个,因为我对过滤和展示有特定的需求。更新二四处浏览后,我对术语的理解有所好转。我不是在寻找完整的“中间人”SSL代理。相反,它将在我的机器上本地运行,因此我可以接受它提供的任何SSL证书。但是,我需要查看我

ruby-on-rails - 使用 Ruby on Rails 设计 - 强制用户在首次登录时更改密码

我有一个运行Devise的RoR应用程序(Rails4.2、Ruby2.2.0)。我已对其进行设置,以便管理员用户(标识我添加到用户模型的“is_admin”bool值)能够创建新的用户帐户,为他们提供生成的密码和确认电子邮件。这一切都正常工作。我还添加了datetime列pass_changed,当用户更改密码时应该更新它,然后检查created_at以确保自帐户创建以来密码已更改。如果两个日期相同,则用户将被重定向到密码更改表单。我编写了一个程序来检查用户是否更改了密码并将其放在我的application_controller.rb中:defcheck_changed_pass@u

ruby - 为什么 Ruby splat 不适用于条件赋值中的数组强制?

虽然splat(*)构造通常被称为splat运算符,但很明显,与其他一元运算符(如否定运算符(!)相比,它是一个不同的野兽。)运算符。splat在赋值(=)中使用时,它自己可以正常工作(即不包含在括号中),但在与条件赋值(||=)一起使用时会产生错误。示例:a=*(1..3)#=>[1,2,3]b||=*(1..3)SyntaxError:(irb):65:syntaxerror,unexpected*我不是在寻找替代方法来做同样的事情,而是在寻找对Ruby内部结构有更好理解的人来解释为什么splat结构的这种用法在第一种情况下有效,但在第二种情况下无效。

ruby - 如何强制 Float 在不使用科学记数法的情况下以完全精确的方式显示,而不是作为字符串显示?

在Ruby中,如何在没有科学记数法的情况下强制显示所有重要位置/完全精确的float?目前我将BigDecimal转换为Float,BigDecimal(0.000000001453).to_f,但这会产生1.453e-09的结果float。如果我执行类似"%14.12f"%BigDecimal("0.000000001453").to_f的操作,我会得到一个字符串。然而,在这种情况下,字符串作为输出是NotAcceptable,因为我需要它作为没有科学记数法的实际数字float。---编辑---好吧,让我在这里提供一些背景信息,这可能需要更改我原来的问题。我正在尝试使用Highsto

ruby - 我可以在传递给方法的 block 上强制执行元数吗?

有什么方法可以“开启”使用Proc.new或Kernel.proc实例化的Proc的严格元数强制执行,使其表现得像Proc用lambda实例化?我的initialize方法采用block&action并将其分配给实例变量。我希望action严格执行arity,因此当我稍后对其应用参数时,它会引发一个ArgumentError,我可以挽救它并引发一个更有意义的异常。基本上:classCommandattr_reader:name,:actiondefinitialize(name,&action)@name=name@action=actionenddefperform(*args)be

ruby-on-rails - 强制 Ruby 版本

因为我在开发箱(带有Ruby1.8.7的OSX)上的数组上使用了find_index并且部署机器运行Ruby1.8.6,所以我被烧毁了。(find_index和index有什么区别?后者适用于1.8.7和1.8.6)所以这让我开始思考:强制Rails使用特定Ruby版本运行的最佳方法是什么?因为它可能相关(安装多个ruby​​!),我需要了解OSX的这一点,但了解Linux、Windows和Commodore64也会很有用。以后:当然,我现在正在使用虚拟设备工作,但如果可能的话,我希望能够在我的计算机上控制我的Ruby版本。注意:我不太在意不允许Rails使用错误的Ruby版本运行。我

ruby - 具有 HTTPS、SSL 客户端证书和 Keep-Alive 支持的 Ruby HTTP 库?

我正在尝试用Ruby编写一个HTTPS客户端。它将使用HTTPS连接到服务器,传递身份验证token(通过单独的登录过程获得)和SSL客户端证书。我正在使用rest-client执行以下操作:client=RestClient::Resource.new(url,:ssl_client_cert=>OpenSSL::X509::Certificate.new(File.read('./certificate/client-2048.pem')),:ssl_client_key=>OpenSSL::PKey::RSA.new(File.read('./certificate/client

ruby - 强制方法的默认值

给定方法:deffoo(a,b=5,c=1)returna+(b*c)end运行foo(1)应该返回6。但是,您将如何着手做这样的事情:foo(1,DEFAULT,2)。我需要更改第三个值,但使用默认的第二个值。你会怎么做?(注意:我不能只更改变量的顺序,因为它们是来自gem的方法的参数) 最佳答案 根据提出的条件,您不能这样做。这种情况正是在Ruby2中引入命名(关键字)参数的原因。但是根据问题的条款,您的具有默认值的参数未命名.因此,它们是positional—这就是为什么可选参数必须放在最后—因此,规则是必须使用至少一个参数调